home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
arcers
/
unzip51.zip
/
INSTALL
< prev
next >
Wrap
Text File
|
1994-02-06
|
9KB
|
169 lines
__________________________________________________________________________
This is the Info-ZIP file INSTALL (for UnZip), last updated 6 Feb 94.
__________________________________________________________________________
This file is still pretty new and probably has some rough edges. If you
discover any errors or omissions, please send e-mail to zip-bugs at the
address given in the README file.
To compile:
- Unpack *.c and *.h (the actual source files), preserving the directory
structure (e.g., ./unix/unix.c). [The exception is TOPS-20, where
tops20/* should be unpacked into the current directory; but TOPS-20
isn't fully supported in this version.] Copy the appropriate makefile
into the current directory and/or rename as appropriate. Check the
appropriate <OS>/Contents file for descriptions of each makefile in
cases where more than one exists (e.g., MS-DOS). [Some makefiles can
be invoked in place--e.g., "nmake -f msdos\makefile.msc" or "make -f
unix/Makefile some_unix_target"--but MS-DOS targets in the Unix makefile
(bcc_dos, gcc_dos, etc.) cannot. Also, moving the Unix Makefile instead
of copying it may result in a harmless error message at compile time.]
- If you want a non-standard version of UnZip, define one or more of the
following optional macros. Some of these may not be fully supported in
this or future releases, however.
OLD_EXDIR (Unix, OS/2, MS-DOS only)
Use old behavior regarding the directory to which to extract: the
argument immediately after the zipfile name is the extraction dir;
if the directory doesn't exist, create it if it was specified as
"dir/" (i.e., with trailing path separator), else treat it as a
stored file; if -d is used, treat the argument as a stored file re-
gardless of trailing '/'. For example:
unzip foo bar if bar is a dir, extract everything into it;
otherwise extract bar as stored file
unzip foo bar/ extract everything into bar, creating if nec.
unzip -d foo bar/ treat bar/ as a stored directory and extract it
DOSWILD (MS-DOS only)
Treat trailing "*.*" like Unix "*" (i.e., matches anything); treat
trailing "*." as match for files without a dot (i.e., matches anything,
as long as no dots in name). Special treatment only occurs if patterns
are at end of arguments; i.e., "a*.*" matches all files starting with
"a", but "*.*c" matches all files ending in "c" *only* if they have a
dot somewhere before the "c". Thus "*.*.*" could be used (albeit awk-
wardly) to specify all filenames with at least one dot in them, and
"*." matches all filenames with no dots in them. [The default method
of specifying these would be "*.*" and "* -x *.*", respectively, where
the second example makes use of UnZip's exclude-files option.] All
other regular expressions (including "?" and "[range_of_chars]") re-
tain their Unix-like behavior.
CHECK_VERSIONS (VMS only)
UnZip "extra fields" are used to store VMS (RMS) filesystem info,
and the format of this information may differ in various versions
of VMS. Defining this option will enable UnZip warnings when the
stored extra-field VMS version(s) do(es) not match the version of
VMS currently being used. This is a common occurrence in zipfiles
received from other sites, but since the format of the filesystem
does not seem to have changed in years (including on Alpha and Open-
VMS systems), the warnings are not enabled by default.
RETURN_CODES (VMS only)
VMS interprets return codes according to a rigid set of guidelines,
so VMS UnZip always returns 0 regardless of whether any warnings or
errors occurred. To see the UnZip return values, define RETURN_CODES;
UnZip will then print the value and its interpretation. This is often
annoying, however.
NO_ZIPINFO
Compile without zipinfo mode (-Z) enabled; makes smaller executable
because many text strings left out. Automatically enabled for
small-model compiles under MS-DOS and OS/2, so ordinarily there is
no need to specify this explicitly. (Note that even with this defined,
the resulting executable may still be too big to extract some zipfiles
correctly.)
CHECK_EOF (primarily intended for MS-DOS)
When unzipping an archive on a bad floppy drive, unzip reportedly
hangs the system; this appears to be due to a failure to do a proper
check for end-of-file from the read() system call. Defining CHECK_EOF
enables better checking; this option is not on by default because it
was introduced too late in the testing process.
DEBUG
Used for debugging purposes; enables Trace() statements. It is
generally best to compile only a single module this way.
- If you regularly compile new versions of UnZip and always want the same
non-standard option(s), add it (them) to the LOCAL_UNZIP environment
variable. Under MS-DOS, for example:
set LOCAL_UNZIP -DDOSWILD -DOLD_EXDIR
You can also use the variable to hold special compiler options (e.g.,
-FPi87 for Microsoft C, if the x87 libraries are the only ones on your
disk and they follow Microsoft's default naming conventions).
- Choose the appropriate makefile based on the description in the Contents
file for the appropriate OS; move or copy it into the current directory
and rename if necessary or desired; edit it to include any special macros
(e.g., add -DDOSWILD to CFLAGS) or whatever (see special OS-specific notes
below); and run the relevant "make" utility as appropriate.
VMS
For a one-time make, one can simply run the supplied command file.
To use either DEC C on an Alpha or VAX C on a VAX, simply type
"@make" (after copying make.com into the current directory; other-
wise do "@[.vms]make"). To use GNU C (gcc) on either platform, do
"@make gcc".
For repeated makes or other hacker-like tinkering with the sources,
use one of the included makefiles. With DEC's MMS or the free MMK
clone, copy descrip.mms into the current directory and run MMS or
MMK. Otherwise grab Todd Aven's free MAKE/VMS, copy makefile into
the current dir and run make.
Sources to Rahul Dhesi's BILF (binary/line-feed) program are also
included as a convenience; it can be useful for converting between
stream-LF and fixed-length-512 formats. Further information is in
the program comments in bilf.c.
OS/2
For Watcom C/386, edit makefile.os2 and change the os2$(OBJ) target
so it uses backslashes (i.e., "os2/os2.c" -> "os2\os2.c").
More generally, read the comments at the top of makefile.os2; note
that only nmake, dmake and GNU make are supported.
MS-DOS
See the msdos/Contents file for notes. Also see msdos/README; it
notes some quirks and/or bugs in various MS-DOS compilers (not much
to be done about them, but be aware of them).
- Run the make utility on your chosen makefile. This should produce two
executables in most cases, one for UnZip/ZipInfo and one for fUnZip.
There may be some warnings about integer-size mismatches; we haven't
been as thorough in eliminating warnings in this release, but they can
be ignored. Test your new UnZip on a few archives and let us know if
there are problems (please first make certain that the archives aren't
actually corrupted, however--test with PKUNZIP or an existing version
of UnZip).
To install:
- Unix: edit Makefile if manext (man-page extension, usually "1"), MANDIR
and BINDIR are not correct; then do "make install". Check file ownerships
and permissions to make sure installation worked correctly. In general,
root must perform installation into a public directory. Do "rehash" if
your shell requires it.
- VMS: install UnZip as foreign symbol by adding this to login.com:
$ unzip == "$disk:[dir]unzip.exe"
$ zipinfo == "$disk:[dir]unzip.exe -Z"
where "disk" and "dir" are location of UnZip executable; the "$" before
disk name is important. Some people, including the author, prefer a
short alias such as "ii" instead of "zipinfo"; edit to taste. See
vms/README for notes/warnings about zipfiles and UnZip under VMS.
- OS/2, MS-DOS, NT, Atari, Amiga: move or copy unzip.exe (or unzip.ttp, or
UnZip, or whatever) to a directory in your path; also possibly copy the
UnZip executable to zipinfo.exe (or ii.exe), or else create a batch or com-
mand file for zipinfo ("@unzip -Z %1 %2 %3 %4 %5 %6 %7 %8 %9" under MS-DOS).
The latter is only relevant if zipinfo mode is enabled, obviously...